package client;

import static debug.Debug.DBUG;
import java.util.HashMap;
import java.util.Map;

public class UnitHandeler implements AlfaHandeler {

	private ClientMap map;
	private Map<Integer, Unit> unitmap;

	public UnitHandeler(ClientMap map) {
		this.map = map;
		unitmap = new HashMap<Integer, Unit>();
	}
	
	@Override
	public void alfaUpdate(String[] parts) {		// unit id x y type
		int id = Integer.parseInt(parts[1]);
		if (unitmap.containsKey(id)) {
			unitmap.get(id).alfaUpdate(parts);
		} else {
			DBUG("p2: "+ parts[2] +", p3: "+ parts[3]);
			int x = Integer.parseInt(parts[2]);
			int y = Integer.parseInt(parts[3]);
			
			addUnit(id, new Unit(x, y));
		}
	}

	public void addUnit(int id, Unit u) {
		unitmap.put(id, u);
		map.addChangeable(u);
		DBUG("added unit: "+ id);
	}

}
